昨天介紹循環神經網路的變體中有一個叫做長短期記憶網路(LSTM),我發現它可以延伸一篇討論一下。
介紹
長短期記憶網路(LSTM)是一種特殊類型的循環神經網路,主要在解決標準 RNN 處理長序列時可能遇到的梯度消失或梯度爆炸問題,它可以捕捉長期依賴關係,這讓它在自然語言處理、時間序列預測等事情上非常有效。
問題
這邊要特別提到梯度消失 gradient🐓 vanishing ,梯度消失是深度神經網路訓練過程中的一種現象,特別在用像 sigmoid 或 tanh 等激活函數時特別明顯,它發生在反向傳播過程中,損失函數的梯度逐漸變得非常小。會導致這樣的原因就是某些激活函數會將輸入值壓縮到小範圍內,導致梯度變小,或隨著網路深度增加,很多小梯度的乘積可能會導致梯度迅速減小。
結構
這邊還是要提到它的三個主要門控機制:
1.遺忘門(Forget Gate)
數學公式:
決定哪些信息該被丟棄或保留,並通過 sigmoid 函數 σ,輸出一個0到1之間的數值,0表示完全忘記,1表示完全保留。
2.輸入門(Input Gate)
數學公式:
決定哪些新信息應該被加入到單元狀態中,它也依賴於當前輸入和前一隱藏狀態。
3.輸出門(Output Gate)
數學公式:
決定單元狀態哪些部分應該輸出到下一層,它也基於當前輸入和單元狀態來計算。
LSTM 通常使用 tanh 和 sigmoid 函數,這些函數的輸出範圍限制在 -1 到 1 之間,雖然仍可能遇到梯度消失,但有門控機制,模型就可以控制梯度的流動,而減少這種情況的發生。